\section{User Stories}

\subsection{Sprint Backlog}
En esta sección contemplaremos las user stories que componen el primer sprint o
sprint backlog.
Por una cuestión de facilidad para el docente, decidimos enumerarlas de la misma
manera que están 
en la herramienta propuesta \textbf{rallydev}.

\begin{itemize}




\item[\textbf{US 24:}] Como usuario que monitorea quiero saber si la planta está enferma para saber si tengo que darle antibióticos.

Es simplemente comparar un valor previamente estipulado de pH con la última medición de pH.

\textbf{Story Points:} 2 Points
\textbf{Rank:} 1


\textbf{Tasks:}
\begin{enumerate}
 \item Medir pH del suelo y comparar con valor estipulado: 2 hs
 \item Mostrar a usuario resultado de comparación: 1 hs
\end{enumerate}
 
\item[\textbf{US 26:}] Como usuario que monitorea quiero saber si a la planta le falta agua para saber si debo suministrarle agua.

Comparar medición de humedad del suelo con valor previamente estipulado..

\textbf{Story Points:} 2 Points
\textbf{Rank:} 1


\textbf{Tasks:}
\begin{enumerate}
 \item Medir humedad del suelo y comparar con valor estipulado: 2 hs
       Mide el nivel de humedad del suelo y se compara con el valor estipulado como límite para saber si hace falta agregar agua. Se asume que la implementación de cómo medir ya está hecha.
 \item Mostrar a usuario resultado de comparación: 1 hs
       Mostrar al usuario el resultado de la comparación de los valores obtenidos: el valor calculado y el valor límite para saber si a una planta le hace falta agua. Con esos dos valores se puede determinar si hay que agregarle agua a la planta.
\end{enumerate}

\item[\textbf{US 28:}] Como usuario que monitorea quiero saber si la planta está recibiendo la suficiente luz para saber si debo subir la intensidad del foco UV.

Comunicarse con el sensor Arduino de luz y recibir los datos.

\textbf{Story Points:} 2 Points
\textbf{Rank:} 1


\textbf{Tasks:}
\begin{enumerate}
 \item Medir nivel de luminosidad y comparar con valor estipulado: 2 hs
       Mide nivel de luminocidad que recibe la planta y lo compara con el valor estipulado como límite para saber si le hace falta más luz. Se asume que la implementación de cómo medir ya está hecha.
 \item Mostrar a usuario resultado de comparación: 1 hs
       Mostrar al usuario el resultado de la comparación de los valores obtenidos: el valor calculado y el valor límite para saber si a la planta le hace falta subir la intensidad del foco UV.
\end{enumerate}

\item[\textbf{US 30:}] Como usuario que monitorea quiero estar al tanto del clima para saber si debo actuar acordemente.

Se debe poder mantener actualizada la información del clima en la aplicación y ésta debe poder ser accedida por el usuario.

\textbf{Story Points:} 3 Points
\textbf{Rank:} 1


\textbf{Tasks:}
\begin{enumerate}
 \item Consultar clima con centralita: 3 hs
 \item Mostrar a usuario consulta hecha: 1 hs
\end{enumerate}


\item[\textbf{US 25:}] Como usuario que aplica quiero aplicarle antibióticos a la planta cuando esté enferma.

Se debe poder comunicarse con el suministrador de antibióticos para suministrar una cantidad personalizada de antibióticos en ese momento.

\textbf{Story Points:} 5 Points
\textbf{Rank:} 2

\textbf{Tasks:}
\begin{enumerate}
 \item Detectar que la planta está enferma: 3 hs
 \item Calcular cantidad necesaria a aplicar: 0.5 hs
 \item Ordenar a arduino que aplique cantidad calculada: 3.0 hs
\end{enumerate}

\item[\textbf{US 27:}] Como usuario que actúa quiero que cuando a la planta le falte agua se le suministre.

Se debe poder comunicarse con el suministrador de agua para dejar pasar una cantidad personalizada de agua en ese momento.

\textbf{Story Points:} 5 Points
\textbf{Rank:} 2

\textbf{Tasks:}
\begin{enumerate}
 \item Detectar falta de agua: 3 hs
 \item Calcular cantidad necesaria a aplicar: 0.5 hs
 \item Ordenar a arduino aplicar cantidad calculada: 3.0 hs
\end{enumerate}


\item[\textbf{US 105:}] Como experto en botánica quiero poder visualizar un plan maestro de cultivo con estadíos fenológicos para un indicador para poder seguir la evolución de una planta.

Se debe poder acceder a la tabla del plan maestro de cultivo y mostrarla en pantalla de una forma accesible para el usuario.

\textbf{Story Points:} 5 Points
\textbf{Rank:} 2

\textbf{Tasks:}
\begin{enumerate}
 \item Obtener tabla de plan maestro: 3 hs
 \item Mostrar a usuario tabla obtenida: 3.0 hs
\end{enumerate}



\item[\textbf{US 120:}] Como experto botánico quisiera aplicarle fertilizante cuando yo lo desee para tener tierra fértil.

\textbf{Story Points:} 5 Points
\textbf{Rank:} 2

\textbf{Tasks:}
\begin{enumerate}
 \item Obtener del usuario cantidad deseada a aplicar: ? hs
 \item Ordenar a arduino aplicar cantidad obtenida: ? hs
\end{enumerate}

\item[\textbf{US 34:}] Como experto en botánica quiero poder crear un plan maestro de cultivo con estadíos fenológicos para un indicador para poder seguir la evolución de una planta.

Se debe poder crear una tabla con estados fenológicos de la planta.

\textbf{Story Points:} 3 Points
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Crear interfaz para ingresar valores deseados: 3 hs
 \item Guardar datos ingresados: 1 hs
\end{enumerate}

\item[\textbf{US 35:}] Como usuario que actúa quiero poder programar el suministro de insumos para automatizar el cuidado de la planta.

Se debe poder proporcionar horarios y días programables para el usuario. Éste luego podría indicar cuándo suministrar insumos automáticamente.

\textbf{Story Points:} 8 Points
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Crear interfaz para editar cantidades a aplicar en calendario: 6 hs
       Crear interfaz de usuario que permita editar las cantidades a aplicar en un calendario (horarios, días, etc)
 \item Guardar datos ingresados: 1 hs
\end{enumerate}

\item[\textbf{US 106:}] Como experto en botánica quiero poder modificar un plan maestro de cultivo con estadíos fenológicos para un indicador para poder seguir la evolución de una planta.

Se debe poder acceder a la tabla con los estadíos posibles y ésta debe ser modificable.

\textbf{Story Points:} 8 Points
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Obtener tabla actual: 1 hs
 \item Mostrar y permitir modificar tabla obtenida: 3 hs
 \item Guardar cambios realizados: 1 hs
\end{enumerate}

\item[\textbf{US 107:}] Como experto en botánica quiero saber el pH de la planta para saber si la planta está enferma.

Se debe hablar con el sensor de luz, interpretar los datos y mostrarlos por pantalla.

\textbf{Story Points:} 3 Points
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Consultar a arduino pH actual de la planta: 3 hs
 \item Mostrar a usuario pH calculado: 1 hs
\end{enumerate}

\item[\textbf{US 108:}] Como experto en botánica quiero saber el porcentaje de humedad de la tierra para saber si a la planta le falta agua

\textbf{Story Points:} 3 Points
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Consultar a arduino nivel actual de humedad del suelo: 3 hs
 \item Mostrar a usuario valor obtenido: 1 hs
\end{enumerate}


\item[\textbf{US 109:}] Como experto en botánica quiero saber la cantidad de luz que está recibiendo la planta para saber si está recibiendo la suficiente.

Se debe hablar con el sensor de luz, interpretar los datos y mostrarlos por pantalla.

\textbf{Story Points:} 3 Points
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Consultar a arduino nivel actual de luminocidad de la planta: 3 hs
 \item Mostrar a usuario valor obtenido: 1 hs
\end{enumerate}



\item[\textbf{US 119:}] Como usuario que monitorea quiero saber cuál fue la última medicion sensada del pH/agua/luz
Se debe guardar la información de los sensores.

\textbf{Story Points:} 1 Point
\textbf{Rank:} 3

\textbf{Tasks:}
\begin{enumerate}
 \item Al tomar una medición guardarla: 0.5 hs
       Cuando se toma una medición, guardarla y mantener siempre la última medición.
 \item Obtener última medición calculada: 0.5 hs
 \item Mostrar a usuario medición obtenida: 1 hs
\end{enumerate}


\item[\textbf{US 31:}] Como usuario que monitorea quiero recibir SMSs sobre alertas del estado de la planta.

Se debe proporcionar un sistema de envío de SMS. Además, un sistema de interrupciones a nuestro sistema de aplicación para que cuando sense datos peligrosos éste interactúe con el sistema de SMS para avisarle al experto en botánica.

\textbf{Story Points:} 8 Points
\textbf{Rank:} 4

\item[\textbf{US 32:}] Como usuario que monitorea quiero tener acceso remoto mediante página web para monitorear el estado de la planta.

Se debe escribir una interfaz web para que se comunique remótamente con nuestro sistema, tener un servidor que esté preparado para el tráfico de una persona, y una interfaz gráfica para el usuario.

\textbf{Story Points:} 99 Points
\textbf{Rank:} 4

\item[\textbf{US 33:}] Como usuario que actúa quiero tener acceso remoto mediante página web para actuar sobre la planta remotamente.

Se debe escribir una interfaz web para que se comunique remótamente con nuestro sistema, tener un servidor que esté preparado para el tráfico de una persona, y una interfaz gráfica para el usuario.

\textbf{Story Points:} 99 Points
\textbf{Rank:} 4

\item[\textbf{US 36:}] Como usuario que monitorea quiero poder visualizar todos los registros de indicadores y suministros de insumos para tener un buen historial.

Se debe guardar un registro de todos los datos provistos por los sensores y además, las cantidades suministradas a lo largo de la historia. Todo esto accesible para el usuario.

\textbf{Story Points:} 5 Points
\textbf{Rank:} 4

\item[\textbf{US 38:}] Como usuario que monitorea quisiera poder visualizar el plan de suministros para las próximas 24 horas para estar al tanto de lo que se le aplicará en un futuro inmediato a la planta.

Se debe guardar un registro del plan de suministros y además, que éste sea accesible para el usuario (por lo menos de las próximas 24 horas)

\textbf{Story Points:} 8 Points
\textbf{Rank:} 4

\item[\textbf{US 29:}] Como usuario que actúa quiero saber una estimación del tiempo restante para la cosecha de los frutos del tomate así puedo estimar cuándo podría depender de ellos.

\textbf{Story Points:} 99 Points
\textbf{Rank:} 5


\item \underline{NOTA:} Si bien aquí en el informe se puede observar la puntuación de algunas stories como $\infty$, en la herramienta \textbf{rallydev} se encuentran expresadas por el número 99 ya que nos permitía valuarlas únicamente con valores numéricos.

\subsection{Velocity}

Al ser la primer iteración definimos una velocity igual a la suma de story
points del sprint backlog. Al finalizar la primer
iteración el grupo evaluará si la estimación fue correcta o no en base a las
dificultades que se tuvieron y ajustaremos dicha velocity.

\end{itemize}
